1. Field of the Invention
This invention relates to multitasking operating systems with a windowing display system, more particularly to a method of assigning task execution priority in these systems.
2. Background of the Invention
Several operating systems exist that perform multitasking and use windows to display operating tasks. Examples include Microsoft Windows(copyright) 95/98/2000/NT/CE, X-Windows(copyright) and LINUX(trademark). In the user interfaces of these systems, the operating tasks are typically each displayed in their own window. Typically, the highest priority task and the one with which the user is interacting is in the front most window.
This front most window, which will be referred to as the active window, typically overlaps and otherwise partially obscures the other windows. When the user selects another window, the newly selected window moves to the front. Examples of the management of the overall display can be found in U.S. Pat. No. 4,783,648, issued Nov. 8, 1988; U.S. Pat. No. 5,237,653, issued Aug. 17, 1993; U.S. Pat. No. 4,769,636, issued Sep. 6, 1988, issued Jul. 28, 1998.
Techniques to manage the movement of selected windows and the associated priorities can be found in U.S. Pat. No. 4,736,309, issued Apr. 5, 1988 and U.S. Pat. No. 5,075,675, issued Dec. 24, 1991. These two patents discuss the method of bringing the selected window to the front over the other windows by overlapping any other windows. Additionally, the ""675 patent discusses the movement of a background window to the upper most part of the display when some communication data is received for the application running in that window. After the data is displayed, the window may or may not move back to its original position. This process has no interaction with the user but occurs upon reception of some data relevant to that application.
There are methods to allow the user to prioritize tasks. They typically require that the user launch a special operation or interface in which to set priorities. Examples of these types of interactive assignments can be found in U.S. Pat. No. 5,786,993, issued Jul. 28, 1998; U.S. Pat. No. 4,764,867, issued Nov. 15, 1988; U.S. Pat. No. 4,920,514, issued Apr. 24, 1990; and U.S. Pat. No. 5,390,281, issued Feb. 14, 1995.
However, none of these examples of the current state of the art allow the user to quickly and easily designate priorities for operating tasks separate from whatever task with which the user is interacting. This can lead to inefficient use of the processing power of the system and the user""s time.
For example, the user wants a high priority task to run with the highest processing resource allocation. However, once that task starts, there is no user interaction required, and the user wants to move on to another task. If the user selects the window of the task on which the user wants to work, the new window overlaps the high priority task window. Correspondingly, the processing allocation to the high priority task is reduced to be less than that of the lower priority, but selected, window.
Therefore, some method that allows the user to allocate processing resources separate from the active window quickly and easily is needed.
One aspect of the invention is a method for modifying execution priority of a task in a multitasking operating system. The user provides input by moving one of the application windows. The system detects the input and adjusts the execution priority in accordance with the window new position on the screen.
Another aspect of the invention includes the ability to set or receive constraints upon the maximum and minimum execution priorities. These constraints can come from user input, the application software or some other source.